<?php
/**
 * Html类处理
 * 包括表单元素、head头的内容的设置，在主模板文件中会调用此类
 * @author  ZhouHaoHua <53027327@qq.com>
 */
class Html extends \core\models\Html {
    /**
     * 网页语言标识。如：zh_CN，en等
     * @var string
     */
    public $lang;
    /**
     * 字符编码
     * @var string
     */
    public $charset;
    /**
     * Title
     * @var string
     */
    public $title = '';
    /**
     * meta description
     * @var string
     */
    public $description = '';
    /**
     * meta Keywords
     * @var string
     */
    public $keywords = '';
    /**
     * 网页头部模板文件
     * @var string
     */
    public $tplTop = '';
    /**
     * 网页中部模板
     * @var string
     */
    public $tplContent = '';
    /**
     * 网页底部模板
     * @var string
     */
    public $tplBottom = '';
    /**
     * 网页body部分的扩展内容，如：<body class="ca" style="overflow:hidden"> 中的class="ca" style="overflow:hidden"就是扩展的内容
     * @var string
     */
    public $tplBodyExt = '';
    private $CSS = array();
    private $TOP_JS = array();
    private $BOT_JS = array();
    /**
     * 额外的META标签
     * @var array
     */
    private $META = array();

    /**
     * @param string $lang    html语言标识符。如：zh_CN,zh_TW,en-US
     * @param string $charset 网页字符编码。如：utf-8,gb2312,big5,gbk等
     */
    public function __construct($lang = 'zh_CN', $charset = 'utf-8') {
        $this->lang    = $lang;
        $this->charset = $charset;
    }

    /**
     * 设置用于网页顶部的JS代码文件路径
     * @param string|array $dirFile 文件路径名
     */
    public function setTopScript($dirFile) {
        if(is_array($dirFile)){
            foreach($dirFile as $v){
                if($v){
                    $this->TOP_JS[] = $v;
                }
            }
        }elseif(is_string($dirFile)) {
            $this->TOP_JS[] = $dirFile;
        }
    }
    /**
     * 设置用于网页底部的JS代码文件路径
     * @param string|array $dirFile 文件路径名
     */
    public function setBottomScript($dirFile) {
        if(is_array($dirFile)){
            foreach($dirFile as $v){
                if($v){
                    $this->BOT_JS[] = $v;
                }
            }
        }elseif(is_string($dirFile)) {
            $this->BOT_JS[] = $dirFile;
        }
    }

    /**
     * 设置额外的META标签
     * @param string|array $str META标签代码
     * @author lwkai
     * @date   2016-6-29
     */
    public function setMeta($str) {
        if(is_array($str)) {
            $this->META = array_merge($this->META,$str);
        } elseif ($str) {
            $this->META[] = $str;
        }
    }

    /**
     * 取得META
     * @return array
     * @author lwkai
     * @date   2016-6-29
     */
    public function getMeta(){
        $f = array_unique($this->META);
        return $f;
    }
    /**
     * 设置CSS文件
     * @param string|array $dirFile 文档路径，支持数组格式。
     */
    public function setCss($dirFile) {
        if(is_array($dirFile)){
            foreach($dirFile as $v){
                if($v){
                    $this->CSS[] = $v;
                }
            }
        }elseif(is_string($dirFile)) {
            $this->CSS[] = $dirFile;
        }
    }

    /**
     * 取得用于网页顶部的JS代码文件路径
     * @return array
     */
    public function getTopScript(){
        $f = array_unique($this->TOP_JS);
        return $f;
    }
    /**
     * 取得用于网页底部的JS代码文件路径
     * @return array
     */
    public function getBottomScript(){
        $f = array_unique($this->BOT_JS);
        return $f;
    }

    /**
     * 取得样式表路径文件数组
     * @return array
     */
    public function getCss(){
        $f = array_unique($this->CSS);
        return $f;
    }


}